package com.platform.usercenter.service;

import com.platform.common.core.domain.entity.SysUser;
import com.platform.common.core.domain.model.DataPermissionDTO;
import com.platform.usercenter.domain.SysOrganization;
import com.platform.usercenter.domain.vo.SysMenuPermissionVO;

import java.util.List;
import java.util.Set;


/**
 * 权限信息 服务层
 *
 * @author
 */
public interface ISysPermissionService
{
    /**
     * 获取角色数据权限
     *
     * @param user 用户id
     * @return 角色权限信息
     */
    public Set<String> getRolePermission(SysUser user);

    /**
     * 获取菜单数据权限
     *
     * @param user 用户Id
     * @return 菜单权限信息
     */
    public Set<String> getMenuPermission(SysUser user);

    /**
     * 获取菜单数据权限
     *
     * @param user 用户Id
     * @return 菜单权限信息
     */
    public List<DataPermissionDTO>  getDataPermissions(SysUser user);

    /**
     * 获取角色组织数据权限
     *
     * @param user 用户id, 组织id
     * @return 角色权限信息
     */
    public Set<String> getRoleDeptPermission(SysUser user,Long orgId);


    List<SysOrganization> getOrgIdPermission(SysUser user);
}
